Cache memories are used to accelerate access to data on slow storage by managing a subset of the data in smaller, faster, and, typically, more expensive storage. Caches come in many shapes and forms, and can be embodied in hardware, such as central processing unit (CPU) caches, and software, such as Memcached. They can also be layered across several storage layers.
For a large social networking service that uses multiple regional data centers to support requests for data from millions of users, or in one case, billions of users, it is important to maintain cache consistency across data centers. Inconsistent data caching can result in users being served stale data, which results in a non-ideal user experience.